package com.zzyl.service;

import com.zzyl.base.PageResponse;
import com.zzyl.base.ResponseResult;
import com.zzyl.dto.NursingPlanDTO;
import com.zzyl.entity.NursingPlan;
import com.zzyl.vo.NursingPlanVO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;

/**
 * 护理计划表(NursingPlan)表服务接口
 *
 * @author makejava
 * @since 2024-10-05 18:15:09
 */
public interface NursingPlanService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    NursingPlan queryById(Integer id);



    /**
     * 修改数据
     *
     * @param nursingPlan 实例对象
     * @return 实例对象
     */
    NursingPlan update(NursingPlan nursingPlan);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    /**
     * 分页查询
     * @param name
     * @param status
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageResponse<NursingPlanVO> searchByPage(String name, Integer status, Integer pageNum, Integer pageSize);

    /**
     * 新增护理计划
     * @param dto
     * @param userIdByName
     * @return
     */
    ResponseResult insert(NursingPlanDTO dto, Long userIdByName);
}
